Technical Q&A QA1264
Generating an NMI Without a Programmer's Switch


Q: ƒJ[ƒlƒ‹‚Ńnƒ“ƒO‚µ‚Ä‚¢‚é Power Macintosh G4 (Mirrored Drive Doors) ã‚ÅƒŠƒ‚[ƒgƒfƒoƒbƒMƒ“ƒO‚ðŽÀs‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B‚±‚̃Rƒ“ƒsƒ…[ƒ^‚ɂ̓vƒƒOƒ‰ƒ}‚̃XƒCƒbƒ`‚ª‚È‚¢‚̂ł·‚ªA‚Ç‚¤‚µ‚½‚炱‚̃VƒXƒeƒ€‚ÉƒŠƒ‚[ƒg‚Ì GDB ƒZƒbƒVƒ‡ƒ“‚©‚çÚ‘±‚Å‚«‚é‚Ì‚µ‚傤‚©H

AF Mac OS X 10.1.2 ‚©‚çAOpen Firmware ‚̃fƒoƒbƒOƒtƒ‰ƒO‚Ì DB_NMI ƒrƒbƒg‚ªÝ’肳‚ê‚Ä‚¢‚éó‘Ô‚Å Mac OS X ‚ðŠJŽn‚·‚邯AƒVƒXƒeƒ€‚Ì“dŒ¹ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽ‚Æ‚«‚ɁAƒVƒXƒeƒ€‚ðƒXƒŠ[ƒvó‘Ô‚É‚µ‚½‚èAƒXƒŠ[ƒvó‘Ô‚©‚畜‹A‚³‚¹‚½‚è‚·‚é‘ã‚í‚è‚ɁAƒ}ƒXƒN•s‰Â”\Š„‚荞‚Ý (NMI) ‚ª”­¶‚µ‚Ü‚·B‚±‚Ì‹@”\‚́A•¨—“I‚ȃvƒƒOƒ‰ƒ}ƒXƒCƒbƒ`‚ª•t‚¢‚Ä‚¢‚È‚¢ƒVƒXƒeƒ€‚Å—LŒø‚Å‚·B



’ˆÓF
iBook ‚â PowerBook ‚Ȃǂ̃m[ƒgŒ^ƒRƒ“ƒsƒ…[ƒ^‚ł́ACommand ƒL[‚ð‰Ÿ‚µ‚½‚܂ܓdŒ¹ƒ{ƒ^ƒ“‚ð‰Ÿ‚·‚ƁANMI ‚ª”­¶‚µ‚Ü‚·B



ƒVƒXƒeƒ€‚́A‹N“®Žž‚É boot-args Ý’è•ϐ”‚©‚çƒfƒoƒbƒOƒtƒ‰ƒO‚ð“ǂݎæ‚è‚Ü‚·B

DB_NMI ƒrƒbƒg‚ðÝ’è‚·‚é‚ɂ́A‚Ü‚¸Aƒ^[ƒ~ƒiƒ‹‚ÅŽŸ‚̃Rƒ}ƒ“ƒh‚ð“ü—Í‚µ‚Ü‚·B

% nvram boot-args

‚±‚ê‚É‚æ‚èAƒfƒoƒbƒOƒtƒ‰ƒO‚ÌŒ»Ý‚̐ݒ肪•\ަ‚³‚ê‚Ü‚·B¡“x‚́AŽŸ‚̃Rƒ}ƒ“ƒh‚ðŽg‚Á‚Ä debug=0x4 ‚ðŒ»Ý‚ÌÝ’è‚ɒljÁ‚µ‚Ü‚·B

% sudo nvram boot-args="<current settings> debug=0x4"

ƒfƒoƒbƒOƒtƒ‰ƒO‚ÉŠÖ‚·‚éÚ×‚ɂ‚¢‚ẮAKernel Programming ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B



’ˆÓF
“dŒ¹ƒ{ƒ^ƒ“‚ð 5 •bˆÈã‰Ÿ‚µ‘±‚¯‚邯A’¼‚¿‚ɃVƒXƒeƒ€‚Ì“dŒ¹‚ªØ‚ê‚Ü‚·B



“dŒ¹ƒ{ƒ^ƒ“‚Ì‚±‚Ì‹@”\‚́ADB_NMI ƒrƒbƒg‚ªÝ’肳‚ê‚邱‚ƂȂ­ Mac OS X ‚ªÄ‹N“®‚³‚ê‚é‚܂ŕێ‚³‚ê‚Ü‚·Bdebug=0x4 ‚ðÈ—ª‚µ‚Ä nvram ƒRƒ}ƒ“ƒh‚𔭍s‚·‚邱‚Ƃɂæ‚Á‚āA‚±‚̃rƒbƒg‚ðƒNƒŠƒA‚Å‚«‚Ü‚·B

% sudo nvram boot-args=""



’ˆÓF
‚±‚̃rƒbƒg‚́AuƒVƒXƒeƒ€ŠÂ‹«Ý’èv‚ðŽg—p‚µ‚Ä‹N“®ƒfƒBƒXƒN‚ð•ύX‚·‚éê‡‚ɂ̓NƒŠƒA‚³‚ê‚Ü‚·B‚Ü‚½AÄ‹N“®‚ð•K—v‚Æ‚·‚éƒCƒ“ƒXƒg[ƒ‹‚ðŽÀs‚·‚邯‚«‚É‚àA‚±‚̃rƒbƒg‚ªƒNƒŠƒA‚³‚ê‚éê‡‚ª‚ ‚è‚Ü‚·B




[2004 ”N 4 ŒŽ 22 “ú]